#if !defined(__APP_BT_H)
#define __APP_BT_H

#include "app_device.h"

/**
 * @brief 蓝牙模块初始
 * 1. 将蓝牙的读后处理函数和写前处理函数传递给设备
 * 2. 蓝牙连接初始化
 * @return int 
 */
int app_bt_init(Device *device);


/**
 * @brief 蓝牙数据的读后处理
 * 
 * @param data 读取的蓝牙数据 =》处理完后放字符数组消息
 * @param len 数据的长度
 * @return int 产生字符数组消息的长度
 */
int app_bt_postRead(char *data, int len);

/**
 * @brief 蓝牙数据写前处理
 * 
 * @param data 字符数组数据 =》 处理后放蓝牙数据
 * @param len 数据长度
 * @return int 产生的要发送的蓝牙数据的长度
 */
int app_bt_preWrite(char *data, int len);


typedef enum {
    BT_BR_9600 = '4',
    BT_BR_115200 = '8',
} BT_BR;

// 判断蓝牙连接状态
int app_bt_status(Device *device);

// 修改蓝牙名称
int app_bt_rename(Device *device, char *name);

// 修改蓝牙波特率
int app_bt_setBaudRate(Device *device,  BT_BR baudRate);

// 重启蓝牙
int app_bt_reset(Device *device);

// 设置蓝牙的组网ID
int app_bt_setNetId(Device *device, char *netId);

// 设置蓝牙的mac地址
int app_bt_setMaddr(Device *device, char *maddr);



#endif // __APP_BT_H
